package com.xframe.xdal.core.serialize.proc;

import com.xframe.xdal.core.util.XDateUtil;

import java.util.Date;
/**
 * 功能描述:将日期转换成指定格式的字符串
 *
 * @author xufeng
 * @version 1.0
 * @date 2022-09-28
 */
public class DataTimeSerProc extends BaseSerProc {
    /**
     * 获得默认的日期格式 yyyy-MM-dd HH:mm:ss
     * @return 序列化后的值
     */
    @Override
    public String getDefArgs(){
        return XDateUtil.YYYY_MM_DD_HH_MM_SS;
    }

    /**
     * 获得最终值,子类需要复写
     * @param bean 序列化的对象
     * @param value 序列化的值
     * @param args 当前的参数
     * @param language 当前的语言
     * @return 序列化后的值
     */
    @Override
    public Object getFineValue(Object bean, Object value, String args, String language){
        if (Date.class.isAssignableFrom(value.getClass())) {
            return XDateUtil.parseDateToStr(args,(Date) value);
        }
        return value;
    }
}
